// function generateHashtag(str) {
//   if (str.length > 140 || (str.replace(/\s*/g, '') == '')) return false //先考虑边界条件
//   // str = str.toLowerCase().split(/\s+/).map(function(item, index) {
// 	// 	return item.slice(0, 1).toUpperCase() + item.slice(1);
// 	// }).join('')
//   str = str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase())
//   return '#'+str
// }
//优化下[让它装高手]
function generateHashtag(str) {
  return (str.replace(/\s*/g, '').length >= 140 || (str.replace(/\s*/g, '') == '')) ? false : '#' + str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()).split(' ').join('')
}
// ``````````````````看看大佬风采

function generateHashtag(str) {
  return str.length > 140 || str === '' ? false :
    '#' + str.split(' ').map(capitalize).join('');
}

function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}

function generateHashtag(str) {
  if (!str || str.length < 1) return false;

  var r = '#' + str.split(' ').map(function (el) {
    return el.charAt(0).toUpperCase() + el.slice(1).toLowerCase();
  }).join('');
  return r.length > 140 ? false : r;
}

function generateHashtag(str) {

  var hashtag = str.split(' ').reduce(function (tag, word) {
    return tag + word.charAt(0).toUpperCase() + word.substring(1);
  }, '#');

  return hashtag.length == 1 || hashtag.length > 140 ? false : hashtag;
}

function generateHashtag(str) {
  var hashed = '#' + str.split(' ').map(function (v) { return v.charAt(0).toUpperCase() + v.slice(1); }).join('');
  return hashed.length > 140 || str == "" ? false : hashed;
}

const generateHashtag = str => (s = '#' + str.trim().split(" ").filter(e => e).map(e => e[0].toUpperCase() + e.substring(1, e.length).toLowerCase()).join("")).length > 1 && s.length <= 140 ? s : false

function generateHashtag(str) {
  var s = "#" + str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase() }).split(" ").join("");
  if (str && s.length <= 140) {
    return s;
  } return false;
}

function generateHashtag(str) {
  return str.length > 140 || str.length < 1 ? false : ('# ' + str).trim().replace(/(\s\w)/g, function ($0, $1) {
    return $1.slice(1).toUpperCase();
  });
}

const generateHashtag = str =>
  (val => !!str.trim() && val.length <= 140 && val)
    (`#${str.replace(/(?:^|\s+)(\w)/g, (_, $1) => $1.toUpperCase())}`);



function generateHashtag(str = "") {
  var hashtag = `#${str.trim().replace(/(?:\b|\s)(\w)/gi, (m, g) => g.toUpperCase())}`
  return !!str && hashtag.length <= 140 && hashtag
}

function generateHashtag(str) {
  var hash = '#';
  str.split(' ').map(a => {
    hash += a.charAt(0).toUpperCase() + a.slice(1);
  });
  return hash != '#' && hash.length <= 140 ? hash : false;
}

console.log(generateHashtag('Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'))
console.log(generateHashtag('code' + ' '.repeat(140) + 'wars'))